home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Night Owl 6
/
Night Owl's Shareware - PDSI-006 - Night Owl Corp (1990).iso
/
001a
/
thost230.zip
/
TINYHOST.DOC
< prev
next >
Wrap
Text File
|
1991-11-13
|
62KB
|
1,516 lines
TINYHOST
V 2.30
November 12, 1991
Copyright (C) 1991 by Bruce A. Krobusek
A small, personal Host program for
IBM PC's or compatibles
Created by : Bruce A. Krobusek
1001 Cunningham Drive
Victor, NY 14564
CompuServe : 74106,1335
Genie : B.KROBUSEK
1.0 INTRODUCTION 1
1.1 What is TinyHost? 1
1.2 Why TinyHost? 2
1.3 What is a SysOp? 2
1.4 Quick Start 2
2.0 INSTALLATION and SETUP 3
2.1 Host System Requirements 3
2.2 Connecting System Requirements 3
2.3 Installation of TinyHost 3
2.4 Running TinyHost 3
2.5 Modem Requirements 3
2.6 Modifying the TINYHOST.CFG File 4
2.6.1 Descriptor Summary 5
2.6.2 Communications Specific Descriptors 5
2.6.3 General Descriptors 6
2.7 Setting up Access Levels 7
2.8 Customizable Display Files 8
3.0 OPERATION 9
3.1 Ringback Operation 9
3.2 TinyHost Operation 9
3.3 File Oriented Commands 11
3.3.1 File Transfers 11
3.3.2 List Directory 11
3.3.3 Changing Directories 11
3.3.4 Typing out a File 12
3.4 Message Commands 12
3.4.1 Reading Messages 12
3.4.2 Entering a Message 12
3.4.3 Editing a Message 13
3.4.4 Killing (Deleting) Messages 13
3.4.5 Viewing User List 14
3.5 Miscellaneous Commands 14
3.5.1 Expert Mode 14
3.5.2 Executing a Warm Boot 14
3.6 Command Chaining 15
3.7 User Inactivity and Hang-Ups 15
4.0 TROUBLESHOOTING TIPS 15
4.1 General Comments 15
4.2 System Hang (Lockup) 15
4.3 Modem Fails Reset 16
4.4 Modem Fails Initialization 16
4.5 Phone Call Not Answered 16
4.6 Garbage After Connect 16
4.7 Immediate Connect and Logoff 17
4.8 Garbage During Logon 17
4.9 TinyHost Doesn't Hangup 17
5.0 MISCELLANEOUS INFORMATION 17
5.1 What is Shareware? 17
5.2 Distributing TinyHost 18
5.3 Warranty Information 18
5.4 Program Support 18
5.5 New User Logons 19
5.6 Message File Format 20
5.7 Known Program Limits 20
Brand and product names used throughout this document are
trademarks or registered trademarks of their respective holders.
1.0 INTRODUCTION
1.1 What is TinyHost?
TinyHost is a small, personal host program I have developed
for IBM PC's or compatibles. It permits the transfer of files
(using modems) between two computers without the requirements or
overhead of other programs, particularly the full-fledged BBS
programs.
TinyHost has the following features:
1) Supports standard XModem, XModem/CRC, and 1K-XModem
(sometimes called YModem) file transfer protocols.
2) Operation can be via COM1, COM2, COM3, or COM4 using a
Hayes compatible modem, and at rates of 300 to 9600 bps.
3) Supports up to 25 users.
4) Supports Ringback mode, which permits easy use of a voice
phone line for data communications.
5) A text file that resides on the host system can be viewed
without downloading.
6) Supports Personal and Public mail, and SysOp Comments.
7) The actions of a remote user are echoed to the local
screen.
8) Unauthorized users are not able to logon to TinyHost.
9) Using the security level feature, access can be restricted
to one directory or the entire system can be available.
10) TinyHost is just that - tiny! The executable file is less
than 80K, and the program only requires approximately
130K of system RAM to run in.
Your version of TinyHost should have the following files
included:
THOSTxxx.EXE - TinyHost's executable. The xxx
refer to the version number of
the program
TINYHOST.DOC - The TinyHost manual in printer
ready form (PRINT TINYHOST.DOC)
TINYHOST.WEL - A sample welcome file
TINYHOST.CFG - A sample configuration file
REGISTER.FRM - Ready-to-print registration
form (PRINT REGISTER.FRM)
HISTORY.TXT - A file describing the release
history of TinyHost
READ.ME - A short text file describing
TinyHost
IN-NODE.LST - A text file with a list of all
current Intelec nodes (BBSes)
Page 1
1.2 Why TinyHost?
Why did I create TinyHost? I needed a method to transfer
files with friends without hassle. I also found that, since I use
computers at work and at home, I was constantly leaving needed
files at one location or another, which resulted in duplicated
(or lost) effort.
TinyHost is also ideal for the company that needs to keep in
touch with remote employees, such as a sales force. With the file
transfer and message capability, it is easy to provide a single
transfer point for up-to-date information.
TinyHost was written using Borland's C++, and consumes
approximately 130K bytes of memory space when running. The small
memory requirements, along with the small .EXE and other
associated files, permits even floppy-disk based systems to be
used for TinyHost operation.
1.3 What is a SysOp?
When the term SysOp is used in this manual it refers to the
person who installs TinyHost on his computer (you), decides who
can logon to his system, and what directories they are able to
access.
1.4 Quick Start
It is recommended that the manual be read before trying to
use TinyHost. However, it is always tempting to fire up a new
program to see how it works. To print out the manual and
registration form, simply enter PRINT TINYHOST.DOC and PRINT
TINYHOST.REG at your DOS command prompt.
Here is a summary of what must be changed (at a minimum) to
get TinyHost to work.
First, the following comments assume that the target system
has a hard disk (Drive C), and that TinyHost will have its own
directory. Create a directory called TINYHOST in the root (main)
directory of the hard disk (C:\TINYHOST). Then create a sub-
directory called BIN within the TINYHOST directory
(C:\TINYHOST\BIN). Copy the THOSTxxx.EXE, TINYHOST.CFG, and
TINYHOST.WEL files to the C:\TINYHOST\BIN subdirectory. Then move
to this directory.
Using an ASCII editor (even EDLIN will do), edit the
TINYHOST.CFG file as follows: set the PORT descriptor to the
serial port that the modem is connected to (1, 2, 3, or 4). Set
the BAUD descriptor to the initial data rate of the modem,
usually the fastest speed of the modem (valid values are 300,
1200, 2400, 4800, or 9600). Finally, edit one of the default USER
accounts (or create a new one) and create an account with your
name, a password, and your security level (8 or 9 is adequate).
Exit your editor and save all of these changes.
Page 2
To run TinyHost, simply enter THOSTxxx.EXE at the DOS prompt
and, after a few seconds of setup, TinyHost should respond with
its standby screen while it waits for a call.
2.0 INSTALLATION and SETUP
2.1 Host System Requirements
TinyHost does not need an elaborate system in order to be
used. A minimal system would consist of a single floppy drive,
256K RAM, any type of display, a serial port, and a Hayes
compatible modem. TinyHost supports COM1-4 using the normal
hardware interrupts for each port (IRQ4 for COM1 and COM3; IRQ3
for COM2 and COM4).
2.2 Connecting System Requirements
Any type of system and communications package should work
with TinyHost. Communications requirements are 8 bits, no parity,
and 1 stop bit.
2.3 Installation of TinyHost
It is recommended that TinyHost be installed in its own sub-
directory. The directory that holds THOSTxxx.EXE is called the
"execution directory", and it is here that the .CFG and other
TinyHost specific files should be kept. Only two files are needed
for operation - THOST.EXE and TINYHOST.CFG. Specific information
as to the expected config file format follows in section 2.6.
Please remember that user accounts MUST be created prior to using
TinyHost - the program does not permit new user logon!
For security reasons, it is STRONGLY suggested that the
TinyHost execution directory be different from the start-up
directory!
2.4 Running TinyHost
To start TinyHost, move to the execution directory and type
"THOSTxxx", where the 'xxx' refers to the version number of
TinyHost.
2.5 Modem Requirements
TinyHost expects a modem that supports the Hayes compatible
command set and ASCII return codes. Because of the many different
modem configurations (switch settings) there would be no point in
attempting to provide a definitive setup for each. However, I can
describe what TinyHost expects - refer to the manual for your
modem to see how to make it fit these needs.
Page 3
Most modems support two types of result codes - numeric
values (non-verbose) and ASCII strings (verbose). TinyHost
expects to receive verbose result codes of the following types:
OK - Informs the host that the modem has executed the
command string successfully.
RING - Informs the host that an incoming call has been
detected.
CONNECT - Denotes that the modem has made a 300 bps
connection.
CONNECT 1200 - A 1200 bps connection.
CONNECT 2400 - A 2400 bps connection.
CONNECT 4800 - A 4800 bps connection.
CONNECT 9600 - A 9600 bps connection.
Most modems support a switch setting that controls the state
of the RS-232 Data Terminal Ready (DTR) handshake line. The
switch setting can either force DTR TRUE at all times at the
modem, or it can be set to permit the host computer to control
DTR. If DTR is supported with the selected host computer and
modem, then a modem hangup string will be unnecessary as TinyHost
will toggle DTR when it wishes to drop carrier. However, if DTR
is unavailable, then the modem hangup string must be defined (see
HANGUP below) or TinyHost will be unable to terminate a call and
will never drop carrier.
2.6 Modifying the TINYHOST.CFG File
When TinyHost is run it looks for TINYHOST.CFG in its
execution directory. If it doesn't find it the program aborts. If
the file is located, TinyHost reads in the information that it
needs to run. The config file can be created or modified using a
simple ASCII editor.
Each line in the config file can be up to 80 characters in
length. At any point in the line a comment can be added by
placing a pound sign (#) in the line - everything following it
will be ignored.
TinyHost requires specific information to run. To this end I
have implemented what I call 'descriptors' which denote what type
of information is specified on the line. The descriptor must
begin in the first column of the line. The descriptor can be in
either upper or lower case, it must be followed by a colon (:),
and the descriptor must be spelled properly. If a required
descriptor does not exist TinyHost will abort and display an
error message. Descriptors can be defined in any order.
The descriptors fall into two categories: communications
specific and general. The following table summarizes each
Page 4
descriptor, with more detailed information in the following
sections.
2.6.1 Descriptor Summary
*PORT - COM port to be used
*BAUD - Beginning baud (bps) rate
RINGBACK - Ringback mode select
*INIT - Modem initialization string
HANGUP - Modem hangup string
RESET - Modem reset string
*START - TinyHost start-up directory
OVERWRITE - File overwrite security level
BOOT - Warm boot security level
CHDIR - Change directory security level
SYSOP - SysOp security level
VIEW - View User List security level
ACCESS - Directory access security level
*USER - User account information
* Required Descriptor
2.6.2 Communications Specific Descriptors
PORT - This specifies the COM port that is to be used. Valid
values are 1, 2, 3, or 4. PORT is required.
BAUD - This specifies the baud (bps) rate that TinyHost is to
operate at. Legal values are 300, 1200, 2400, 4800, and 9600.
BAUD is required.
RINGBACK - Specifies whether or not TinyHost will operate in
ringback mode. RINGBACK is not required - TinyHost will default
to Ringback Enabled Mode.
INIT - This is the initialization string used to configure
the modem. INIT is required. The string included with TinyHost
includes some modem commands that are necessary for proper
operation: ATE0M0Q0V1X2S0=0S2=43
E0 - Controls echo from the modem. Must be
set to 0, which is for no echo. Required.
M0 - Controls the modem speaker. A value of
0 turns the speaker off. Optional.
Q0 - Determines the kind of result codes sent
by the mode. Must be set for 0 (result
codes sent). Required.
V1 - Determines the type of result codes sent.
Must be set to 1 which specifies English
(ASCII) codes are sent. Required.
X2 - Selects extended modem result codes. Must
set to 2 or greater. Required.
S0 - Determines the number of rings on which
the modem will answer the phone. Must be
set to 0. Required.
Page 5
S2 - Sets the value of the escape code for the
modem. Must be set to 43 ("+"). Required.
HANGUP - Specifies the command string necessary to tell the
modem to hang up the phone (go on hook). Refer to the section on
modem requirements (2.5) to see if this string is necessary.
HANGUP is Optional.
RESET - Specifies the command string necessary to reset the
modem. If RESET is specified then the modem must default to
verbose text responses for proper TinyHost operation. RESET is
optional.
2.6.3 General Descriptors
START - Specifies the start-up directory for TinyHost. This
is the directory that TinyHost moves to after its initialization
is complete. This is also the directory that is available to the
remote user that logs onto TinyHost so care should be taken that
no sensitive files are available for download from this
directory. START is required. A terminating backslash should not
be used except when specifying a root directory that is being
used for the start-up directory.
OVERWRITE - Specifies the security level needed for file
overwrite permission. This can be used to update TinyHosts'
config file remotely when used with the Warm Boot command. If
Overwrite security is not specified then no user will have
Overwrite permission. OVERWRITE expects a numeric value between 0
and 10.
BOOT - Specifies the security level needed to perform a warm
boot of the host system. This command can be used with Overwrite
to update TinyHosts' config file from a remote location. If Boot
security is not specified then no user will have Boot permission.
BOOT expects a numeric value between 0 and 10.
CHDIR - Specifies the minimum security level necessary to be
able to move between directories of the system. If not specified
then no security level will be permitted to change directories.
CHDIR expects a numeric value between 0 and 10.
SYSOP - Specified the minimum security level necessary to
perform SysOp level functions. SysOp functions include the
ability to delete Public mail, and read and delete SysOp
Comments. SYSOP expects a numeric value between 0 and 10. If
it is not specified then remote SysOp privileges will be
disabled.
VIEW - Minimum security necessary to perform a View User List
function. It may be desired to prevent lower level users from
viewing the names of the TinyHost user base, and setting VIEW
high enough will do this. View expects a numeric value between 0
and 10. Not specifying a VIEW security level will result in all
users being able to view the User List.
Page 6
ACCESS - Can be used to specify a security level needed to
access a directory. Up to 25 Access restrictions can be defined.
If no access restrictions are specified then anyone with CHDIR
permission can move to any system drive or directory. This could
be troublesome when floppy drives are specified and they contain
no diskettes. ACCESS expects a valid directory path (up to the
DOS limit of 63 characters), followed by a comma, followed by a
numeric value between 0 and 10 indicating a security level.
USER - Defines a user account. The line should contain (in
order) the users first name (15 characters maximum), last name
(30 characters), password (8 characters), and security level (2
characters). Each item must be separated from the other by a
comma (,). The security level should be specified by a numerical
string ranging in value from 0 to 10, with 10 being the highest
permissible security level. At least one, and up to 25, user
accounts can be created.
2.7 Setting up Access Levels
The first thing to remember is that if a user's account
hasn't been created in the TINYHOST.CFG file he will never be
able to log on! (See Section 5.5 for a method to permit new users
to log on).
From there, things get a little more complicated (but not
*too* complicated!). The SysOp will have to make decisions as to
how much system access to give to the user accounts he creates.
It is recommended that security level 10 be used to deny access
to items such as the floppy drives, etc. when a hard disk based
system is used. Trying to remotely access a floppy drive that
does not have a diskette in it will cause TinyHost to hang.
As noted above, a remote user can be restricted to the Start-
Up directory for his uploads and downloads. This is accomplished
by setting the CHDIR access to a higher level than that of the
remote user.
To limit access to other areas of the system, the ACCESS
descriptor should be used. For instance, it is recommended that
only the SysOp have remote access to the sub-directory that
contains the TinyHost program, config file, and message files.
Since there is no specific file upload or download restrictions,
permitting access to these files (particularly the config file)
would then give access to the entire user log.
Entire disk drives (floppy, hard, and RAM) can be locked out
by simply setting up the following ACCESS descriptor:
ACCESS:X:,10
This would force a security level of 10 or greater to access
drive X. As long as no user (SysOp included) has a security of
Page 7
10, then no access of drive X is possible. To lock out the root
directory of a drive the descriptor would be changed to:
ACCESS:X:\,10
Note the trailing backslash after the drive designation. This is
the only time that the backslash is necessary. To lock out a
particular directory:
ACCESS:C:\TINYHOST\BIN,9
would permit access to the TINYHOST\BIN subdirectory by people
with security levels of 9 or greater. Note that a trailing
backslash is not required (nor desired) when specifying a
complete directory path.
For example, suppose that one wanted to have two separate
subdirectories, each with its own access level, within the
TINYHOST directory. Assuming that one directory is called LEVEL7
and the other is LEVEL8, the directory structure would look like
this:
C:\ --- TINYHOST --+--- LEVEL7
|
+--- LEVEL8
|
+--- BIN
Also, assume that the access levels within TINYHOST.CFG are set
as follows:
ACCESS:C:\TINYHOST\BIN,9
ACCESS:C:\TINYHOST\LEVEL7,7
ACCESS:C:\TINYHOST\LEVEL8,8
Users with a security level of 7 or higher would be permitted
access to the LEVEL7 directory. A security level of 8 or more
would be required to be able to move to the LEVEL8 directory. And
a level of 9 or 10 (probably a SysOp) would have access to the
BIN directory where all of the important TinyHost files are kept.
The config file that has been included with the TinyHost
package is set up to lockout floppy drives A and B. Overwrite,
boot permission, and SysOp security levels are set to that of the
"SysOp", Sam Sysop.
2.8 Customizable Display Files
TinyHost permits the customizing of three display files by
the SysOp that are shown at three different points within the
program. TINYHOST.WEL is displayed after a connection has been
made and before a user has logged on. TINYHOST.BUL is displayed
after the logon process has been successfully completed.
TINYHOST.BYE is shown after the user has logged off. A sample
TINYHOST.WEL has been included on the TinyHost disk.
Page 8
Each file can have any number of lines, but each line should
be no more than 80 characters long, and should be terminated with
a carriage return and line feed. If the file is longer than 20
lines TinyHost will pause at the 21st line (and every 21st line
thereafter).
These files should be placed in the same directory that
THOSTxxx.EXE and TINYHOST.CFG reside (the execution directory).
If any of the display files do not exist TinyHost will continue
on its merry way!
3.0 OPERATION
3.1 Ringback Operation
Ringback mode has been implemented to permit using the same
phone line for both voice and data communications. In the case of
the author, his computer (running TinyHost) shares a phone line
with an answering machine. The use of ringback permits access to
the computer while not affecting answering machine operation.
To access TinyHost when ringback is implemented the caller
must first dial into the computer and permit the phone to ring at
least once (or permit the modem to detect at least one ring).
Then the caller should hang up and wait at least 8 seconds before
redialing the computer. As long as the redial is done within 1
minute of the first call, TinyHost will answer the phone and data
communications can begin. If more than 1 minute elapses then
TinyHost resets and begins waiting for the first ring.
3.2 TinyHost Operation
TinyHost is a very easy program to use - if for no other
reason than there aren't too many options with which to become
confused! After the program is started a status screen is
displayed on the local monitor. This information includes whether
or not TinyHost is in ringback mode, and, if so, whether or not
the program is waiting for the ringback. A local operator is also
able to view the progress of a remote connection since all
activity is echoed to the computer's monitor.
After TinyHost has been started, and while it is waiting for
a phone call, a local user can logon locally by pressing <ENTER>
(or <RETURN>). The local user will then be presented with the
same prompt a remote user gets, the request for the user's first
name. To exit TinyHost, a blank line should be entered at the
first name prompt.
If logon is desired, the user should then enter his first
name, last name, and password as requested. It is permissible to
string together any and all user information (for instance,
entering first and last name, separated by a space, at the First
Name prompt). It is not recommended to enter ones password in
this fashion as the characters would be echoed to both the local
and remote screens. The names and password inputs are not case
Page 9
sensitive. TinyHost does not permit retries when entering this
information - if it is entered improperly TinyHost will deny
access and will hang up.
After the user successfully logs on, TinyHost checks to see
if any personal messages exist for the user. If so, TinyHost
beeps once, and displays a message that Personal Mail is waiting.
A check is also made for Public mail and SysOp Comments (security
level permitting), and notices are displayed if either forms of
messages exist.
The user will then be presented with the Main Menu, which
displays the following command options:
*D - Download a file from TinyHost to the user.
*U - Upload a file to TinyHost from the user. If
security level permits, file overwrite is
possible with or without backup.
L - List the contents of the present directory.
*C - If permissible, allows the user to move
between drives and directories of the system.
*T - Typing out a text file that resides on the
host system.
*R - Read Personal or Public messages, or SysOp
comments (security level dependent).
*E - Enter a Personal or Public message or SysOp
comment.
*K - Kill Personal messages, or Private messages
or SysOp comments (security level dependent).
V - View User List (security level dependent).
I - Displays an informative screen about TinyHost.
H - Display a Help screen ('?' can also be used).
X - Toggles TinyHosts' Expert mode on and off.
When Expert mode is ON the longer menu and
informative messages are suppressed.
B - Re-display the logon Bulletin.
G - Goodbye. Ends the TinyHost connection.
W - Log off and reload the access and user info
from the config file. Subject to permission.
This option is *not* displayed on the screen
- it is a SysOp secret!!
* Command Chaining possible
Page 10
3.3 File Oriented Commands
3.3.1 File Transfers
TinyHost provides XModem, XModem/CRC, and 1K-Xmodem upload
and download capability (1K-XModem protocol is sometimes known as
YModem). All uploads and downloads take place from the current
directory that the user is in. If CHDIR access has not been
given, then file transfers take place from the Start-Up
directory. Note that if a user logs on locally file transfers are
not permitted (for obvious reasons).
Xmodem and XModem/CRC transfers appear as a single selection.
TinyHost will attempt to begin transfers using CRC as this is a
more reliable protocol than checksum. If CRC attempts are ignored
then the system will fall back to checksum.
When uploading a file to the TinyHost system, if the file
already exists the system will typically prevent overwriting the
existing file. The exception to this is if the OVERWRITE
descriptor has been set and the caller's security level matches
or is greater than that value. If this is the case then the user
will have the option of overwriting the existing file. If
overwrite is selected then the user will also be asked if a
backup of the current file is desired. If a backup already exists
then the current backup will be overwritten by the new backup (no
backups of backups are made!).
The overwrite option was added to permit updating TinyHost's
config file from a remote location. Since new users cannot logon
to TinyHost it is necessary to create an appropriate account. By
using both the overwrite and warm boot capability the SysOp can
download the existing config file, modify it, upload it and
overwrite the existing config file, then tell TinyHost to load
the new information.
3.3.2 List Directory
This function displays the files that reside in the currently
selected sub-directory of the system. First, the current
directory path is displayed. Then, any additional sub-directories
that exist are shown. Finally, the individual files in the
current directory are displayed along with their sizes.
3.3.3 Changing Directories
The Change Directory function of TinyHost acts much the same
as the chdir (or cd) function from DOS. When Change Directory has
been chosen the program will prompt for a new directory. The same
type of input that is acceptable from a DOS command level is
suitable for TinyHost - entering two dots (..) will take TinyHost
to the next directory up the tree. Entering a complete path will
take the user to the specified directory. All of this is, of
course, assuming that the user has the necessary access to permit
moving around the host system. To ensure security of the host
Page 11
system, TinyHost will return to the designated Start-Up directory
after a user has logged off.
3.3.4 Typing out a File
This function permits typing out (listing) a file that
resides on the TinyHost computer. It is strongly advised that
this function be used only to view text (ASCII) files. Viewing
binary files (those with .EXE, .COM, .ZIP, etc. extensions) can
cause VERY unpredictable results!
If the user has Expert Mode turned off when this feature is
selected, a cautionary message similar to the above paragraph
will be displayed, then the user will be prompted for a filename.
If Expert Mode is enabled, then the user will be immediately
prompted for the filename. If the file exists in the currently
selected directory, then it will be displayed. TinyHost will
pause every 21 lines and ask if it is to continue displaying the
file. TinyHost will also automatically wrap the screen display if
the line length exceeds 80 characters. TinyHost will keep track
of added line feeds to be sure that the display is paused
properly.
The maximum line length that TinyHost will support (without a
terminating carriage return or line feed) is 256 characters.
3.4 Message Commands
3.4.1 Reading Messages
When a user logs onto TinyHost a notification is given if any
Personal or Public mail is waiting, beeping once for Personal
mail. If the user's security level is high enough, a notification
of waiting SysOp Comments is also given. To read the messages,
enter 'R' (or 'r') at the Main Menu prompt. A choice will then be
given to read Personal ('P'), Public ('U'), or SysOp Comments
('C'). After the second choice is made the message(s) are then
displayed. If more then one message is waiting, TinyHost pauses
before continuing on to the next message. The very first line of
the message notes who the message is from, and the time and date
that the message was entered.
If no mail is waiting of the selected type, a message
reporting this is displayed. If the user does not have sufficient
security to read SysOp Comments a notification is given and the
Comments are not displayed.
3.4.2 Entering a Message
To Enter a message or SysOp Comment, enter an 'E' (or 'e') at
the Main Menu prompt. The user will be prompted for the type of
message to be left (Personal, Public, or SysOp Comment). After
the selection is made, a few notes regarding message input are
displayed along with a ruler line showing the length of a message
line.
Page 12
If entering a Personal (Private) message, the user will be
asked for the name of the person to send the message to. TinyHost
will then check to be sure that such a person exists in its user
base, so it is imperative that the user's name be spelled
correctly. To find out who exists in the user base, and to find
the proper spelling of names, a View User list can be done
(within security limits).
Up to 20 lines of 70 characters each may be entered. TinyHost
will automatically wrap input to the next line. When entering
the message, do not put a period in the first (leftmost) column.
This is how TinyHost distinguishes the end of a particular
message (see Section 5.6). To end the message input, enter a
blank line. At this point, the message can be edited, saved, or
aborted.
If the message is saved, TinyHost will automatically add the
sending individual's name, and the time and date the message was
entered, to the beginning of the message. The entire message will
then be saved into the appropriate message file.
3.4.3 Editing a Message
After entering a message, and before saving it, the message
can be edited using the following editing commands:
[L]ist - List the entire message
[I]nsert - inserts a line after the line number specified.
Entering a blank line will abort the insert process.
If the message length is already 20 lines then an
insert will not be permitted.
[D]elete - deletes the specified line
[E]dit - permits editing the specified line. After entering
the line number the user is asked to enter the source
string to be changed. TinyHost will do an exact, case
sensitive search and if a match is found then the user
is prompted for the string to be substituted. If the
resulting line exceeds 70 characters then the end of
the line will be truncated to fit.
When editing the message is complete, the message can either
be [S]aved or [A]borted.
3.4.4 Killing (Deleting) Messages
TinyHost will retain all messages until they are deleted.
This is accomplished by entering a 'K' (or 'k') at the Main Menu
prompt. The user will then be prompted for the type of mail to
delete - Personal, Public, or SysOp Comments. The user is then
asked if all messages are truly to be deleted, and if the
response is Yes, then the entire mail file is deleted.
Page 13
If the user's security is not high enough to delete Public
Mail or SysOp Comments, an appropriate message will be displayed
and the user will be returned to the Main Menu.
It must be stressed that when Killing Messages, ALL such
messages are deleted! There is presently no way, for instance, to
just delete one Private message out of the group. However, since
a DOS file delete is done, the file should be recoverable using
an easily available file recovery utility.
Non-deleted messages will hang around forever (or until the
next disk crash!). Personal messages, though, will make a minor
nuisance of themselves by beeping every time the user logs on.
This should help remind users to purge their old messages.
See Section 5.6 for information on editing the message files
off-line using an ASCII editor.
3.4.5 Viewing User List
To help users when entering Personal mail, a View User List
function has been added. Entering a 'V' or 'v' at the Main Menu
prompt will display the list of users currently defined in
TinyHosts' user base. Both the first and last name of the
individuals are displayed.
The View User List function can be restricted to higher
security levels simply by setting the VIEW descriptor value high
enough. This may be desired when TinyHost is open to new callers
(see Section 5.5), or when different security levels are
implemented. If the VIEW descriptor is not found in the
TINYHOST.CFG file, any users will be able to see the user list.
3.5 Miscellaneous Commands
3.5.1 Expert Mode
Entering an 'X' (or 'x') at TinyHosts' Main Menu will toggle
the Expert User Mode on and off. When OFF, full menus and
informative displays are given throughout TinyHost. When ON,
these displays are suppressed and only a line showing the valid
character inputs is displayed.
3.5.2 Executing a Warm Boot
As described above, the warm boot option has been included to
permit the SysOp to add users by remotely updating the config
file. TinyHost normally only reads its config file on initial
start-up. Entering a 'W' will result in TinyHost logging off
(same as if Goodbye had been selected). The program will then
proceed to re-load its config file and retrieve ACCESS and USER
info - everything else in its configuration (INIT, RESET, etc.)
will remain untouched.
Page 14
3.6 Command Chaining
Many commands can be used with Command Chaining. This is the
process of entering two pieces of information at the Main Menu
prompt, with a space separating the items. For instance, to type
out the file FOOBAR.TXT from the current directory, the command
line would be:
T FOOBAR.TXT <return>
Command chaining can be used in or out of Expert Mode, and
currently works with file and message commands. Section 3.2 lists
the available TinyHost commands, and the ones where command
chaining can be used are marked with asterisks ('*').
3.7 User Inactivity and Hang-Ups
TinyHost monitors the COM port for keyboard activity to be
sure that a user is still out there and awake. If no keyboard
activity is seen for an extended period of time (at least 2
minutes) TinyHost will hang up and recycle itself. The total
length of time that TinyHost will wait depend upon what menu the
user is in when the inactive period begins. A 5 minute delay is
set when Viewing a file; a 2 minute delay exists at the Main Menu
prompt. This activity monitor will also handle disconnects that
occur in the middle of a logon session.
4.0 TROUBLESHOOTING TIPS
4.1 General Comments
Although I have done my best to make TinyHost an easy-to-use
program, it is difficult (if not impossible) to take all of the
different port and modem combinations into account. Here are some
suggestions as to causes and cures of some common problems in
getting TinyHost to work.
A helpful debug feature has been incorporated into TinyHost.
By adding the DBUG descriptor to a line in the TINYHOST.CFG file,
modem response information will be displayed on the local
monitor's screen. This can sometimes help pinpoint the problem
area.
4.2 System Hang (Lockup)
This failure is when the computer that is to be used locks up
as soon as TinyHost is executed. Chances are, the last sign of
life was the "Initialization..." message being displayed on the
monitor screen.
This is usually due to a problem with the selected serial
port. It is possible that the specified serial port does not
exist in the computer. When trying to use COM3 or COM4, it is
Page 15
also possible that an unsupported system interrupt is being used.
TinyHost expects to use IRQ4 for COM3; IRQ3 for COM4.
TinyHost can also hang the system if a remote user attempts
to access a floppy drive that does not have a diskette in it.
4.3 Modem Fails Reset
This will occur as TinyHost is being initialized. The program
attempts to reset the modem, and has received no response. The
expected response is an "OK" string.
A number of causes are possible. Make sure that the modem is
connected to the specified serial port, and that the default bps
rate being specified with the BAUD descriptor is one that the
modem can support (don't specify 9600 for a 2400 bps modem). The
modem could also be set (via DIP switches or non-volatile RAM) to
default to no result codes or to numeric instead of verbose. The
simplest solution is to remove the RESET descriptor from the
TINYHOST.CFG file.
4.4 Modem Fails Initialization
TinyHost displays a "Modem Initialization Failure" string
when this happens.
Again, a number of causes are possible. Make sure that the
modem is connected to the specified serial port, and that a valid
BAUD rate setting is being used. The initialization string also
must have the Q0 and V1 modem commands set as shown (Q0 forces
the display of result codes; V1 specifies that result codes as
character strings rather than numbers).
4.5 Phone Call Not Answered
If TinyHost does not answer the incoming call, make sure that
the phone line is properly plugged into the modem. Also, make
sure that the RINGBACK descriptor is set to 'N' (No).
4.6 Garbage After Connect
This problem will only be seen by the remote caller, and will
appear as all garbage characters being received instead of the
expected Welcome file (if used) or First Name prompt.
This is caused by different bps rate settings between the
TinyHost system and the remote caller. This is probably due to
the Data Rate of the modem being locked to a particular value by
an initialization command (usually available only with error
correcting or MNP modems). Unfortunately, this command varies
from modem-to-modem. For a USR Robotics Courier V.32bis this
command is &B1; for a Practical Peripheral PM2400 the command is
%Bn (n being a number from 1-4). These commands must be removed
Page 16
from the initialization string, as TinyHost changes the serial
port data rate to match the connect rate.
If occasional incorrect characters are received, the problem
is probably due to a noisy phone connection between the two
systems.
4.7 Immediate Connect and Logoff
Although difficult to describe, this is when TinyHost answers
the phone, displays the requests for First Name, Last Name, and
Password, then logs off without the remote user doing anything.
The number of times each prompt is displayed can vary.
Essentially, the remote user is never given the chance to logon.
This is probably caused by an improper echo command setting
in the Modem Init string. Command Echo must be set to off by
using the E0 setting in the init string.
4.8 Garbage During Logon
Here, TinyHost answered the call, established communications,
but the remote user sees occasional garbage echoed during the
logon process, and he is not permitted access to the system.
The most likely cause is the remote users communications
package is incorrectly set. TinyHost expects the connecting
caller to be using 8-bits, no parity, and 1 stop bit.
4.9 TinyHost Doesn't Hangup
If TinyHost doesn't hangup (disconnect) after a call is
complete, the problem is probably due to a lack of a modem hangup
string specification in the TINYHOST.CFG file. Refer to Section
2.5 (Modem Requirements) for further information
5.0 MISCELLANEOUS INFORMATION
5.1 What is Shareware?
TinyHost is being released as Shareware, which means that you
can try the program out *before* you buy it and make sure that it
will do what you want. If you find it of use, you are requested
to mail a contribution ($25 suggested) to the author to support
the continued development of this and other products. Please send
a check or money order (U.S. funds only) to:
Bruce A. Krobusek
1001 Cunningham Drive
Victor, NY 14564
For your $25 you will receive the latest registered version
of TinyHost on either 5 1/4 (360K) or 3 1/2 (720K) media (please
Page 17
specify). The registered version of TinyHost has the same
functionality as the Shareware version, but the text requesting
contributions will be removed. You will also receive a registered
version of the next major release of TinyHost, and notifications
of future upgrades.
A ready-to-print registration form has been included with
TinyHost. Simply print out REGISTER.FRM using the DOS PRINT
command, fill it out, and return it with your check or money
order.
5.2 Distributing TinyHost
Even though TinyHost is Shareware it remains a
copyrighted program. As such, it may be freely copied and
distributed under the following guidelines:
* The author retains the sole right to sell the program
for a profit.
* The author grants users the right to copy and distribute
TinyHost so long as all program files remain unaltered
and are distributed as a group.
* The program may not be bundled with any other hardware
or software without the permission of the author.
* Recognized users groups may charge a maximum of $5 for
duplication and/or distribution of TinyHost.
Registered users are requested to distribute only the
Shareware (Unregistered) version of TinyHost. There is no
difference in functionality, but the Shareware version reminds
the user to register.
5.3 Warranty Information
The author (Bruce A. Krobusek) disclaims all warranties
expressed or implied as to the quality and performance of this
program (TinyHost). The author will not be held liable for any
lost profits, lost savings, or any other direct, indirect,
incidental, or consequential damages resulting from the use of
this program. Your use of this program constitutes your agreement
to this disclaimer and your release of the author from any form
of liability or litigation.
5.4 Program Support
Now that the legal technicalities are out of the way, let me
state that I have done my best to ensure that TinyHost is error
free. However, that is not to imply that one might not find
errors that have been missed. If a problem should be found,
contact me through one of the avenues mentioned below and I will
do my best to correct it. Naturally, the more information that
can be supplied as to the nature of the bug the better chance I
will have of finding and squashing it!
Page 18
I am also interested in receiving any comments or suggestions
regarding TinyHost. Although I have a few ideas for upcoming
enhancements (shell to DOS, external file transfer protocols, log
file support, online chat, etc.) I am always interested in
hearing what other people think of TinyHost.
Here are 5 methods that can be used in contacting me,
starting with the most preferable:
Micro Science BBS - (716) 594-1804 USR Dual Standard
This Bulletin Board is located in Rochester, NY
and is run by Larry Helber. The latest version of
TinyHost will always be available as a free
download. Do a file search (Z) and scan for
TINYHOST, or download THOST*.ZIP. There is also a
TinyHost support conference where messages can be
left and received. No BBS registration is required
for TinyHost download or support.
Intelec Network - This is a national BBS network
(Micro Science is a member). There are nodes all
over the U.S. and Canada, with a few starting to
appear in other nations. I will monitor the
Communications, Shareware, and Central conferences
for any mail addressed to me. Please try to spell
my name correctly or I may not be notified of a
message. The latest Intelec node (BBS) list has
been included as IN-NODE.LST. There is probably
a BBS that carries Intelec near you.
GEnie - General Electric Network for Information Exchange
My account name is B.KROBUSEK. I usually logon
once a week or so.
CompuServe Informational Services - My account number
is 74106,1335. Again, I try to logon about once
a week.
Home Address - 1001 Cunningham Drive
Victor, NY 14564
5.5 New User Logons
Although TinyHost does not permit a new user to register,
there is a way to permit new users to logon. To do this, a user
account can be created, with a password, and this information can
be displayed as part of the TinyHost Welcome screen. For
instance, an account could be created with the name New User, the
password GUEST, and a security level of 0 (zero). A message could
be left as part of the TINYHOST.WEL screen stating that new users
should use this account to logon. These users would then be able
to access the files in the Start-Up directory, read Public mail,
and could leave any type of mail message. If the security levels
were set properly (the settings in the included TINYHOST.CFG file
would be fine), then the new user would not be able to do
anything else. This would be an easy way of leaving the TinyHost
Page 19
system partially accessible to, for instance, the customers of a
company.
5.6 Message File Format
The TinyHost message files are standard ASCII text files.
Each file has the extension ".TH". Files for Personal mail
consist of filename made up of the user's first and last names.
The user's first name is used, with characters from the last name
being added to pad the filename for up to 8 characters (the DOS
limit). For instance, if the user's name is Joe Fabeets, then his
personal mail file will have the filename JOEFABEE.TH. Public
mail is stored in PUBLIC.TH; SysOp Comments are stored in
COMMENTS.TH.
Although TinyHost limits message input to 70 characters per
line and 20 lines, this is strictly a program limit. A message
file created off-line does not have to adhere to these
restrictions (although it is suggested that line length be kept
under 80 characters). When creating a message off-line, each line
should be terminated in a carriage return / line feed pair. The
end of the message should be marked with a period ('.') in the
first column of the terminating line, followed again by a
carriage return / line feed. This terminating period is not
displayed to the reader, but is used by TinyHost to determine the
end of the message.
By editing the Public Message file offline, the SysOp is able
to keep desired messages in the file while leaving room for new
messages.
5.7 Known Program Limits
A few areas exist where there are some known limitations:
First, I am somewhat confused as to the flexibility of
1K-XModem file transfers. The implementation within TinyHost
supports both CRC and checksum error detection, yet in the
testing that I have done I have never been able to implement a
1K-XModem checksum file transfer because the communications
package I was using did not support it. As TinyHost is currently
implemented it will attempt to start a CRC upload, and will retry
for a total of 30 seconds. If the upload does not begin in that
time it will fall back to attempting a checksum upload. However,
after TinyHost falls back to checksum it will not return to a CRC
mode of transfer. The upshot of all of this is that if it takes
more than 30 seconds to initiate a 1K-XModem upload using CRC
error checking then errors will occur and the upload will never
begin (assuming that your communications package does not support
1K checksum). If this happens simply abort the upload and begin
again.
Secondly, file transfer errors have been observed when using
the 1K-XModem protocol at 1200 bps with Windows 3.0 and having
TinyHost running as a background task. The host machine was a
16MHz 386SX with 4Mb of RAM. These errors have *not* been seen
Page 20
running TinyHost within DesqView at rates of up to 2400 bps. It
is entirely possible that by judicious time-slice selection
within Windows that this problem could be eliminated.
Finally, I have not had access to the proper equipment to
completely test TinyHost at 4800 and 9600 bps. Although I have
every reason to believe that operation will be reliable at these
speeds there is also the possibility that I may have missed
something. As soon as I have the capability to thoroughly test at
higher speeds I shall do so.
Page 21